# -*- mode: python; coding: utf-8; -*-
##--------------------------------------------------------------------------##
##
## Copyright (C) 1998-2003 Markus Oberhumer <markus@oberhumer.com>
## Copyright (C) 2003 Mt. Hood Playing Card Co.
## Copyright (C) 2005-2010 Skomoroh <skomoroh@users.sourceforge.net>
## Copyright (C) 2010-2013 Jeremy Austin-Bardo <tjaustinbardo@gmail.com>
##
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program.  If not, see <http://www.gnu.org/licenses/>.
##
##--------------------------------------------------------------------------##
__docformat__ = 'restructuredtext en'

from . import  __common__ as mgame
from ...gamelib import info as gi


class Km(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5052, short_name='Km')
    __layout__ = ('0baabcabiaakaboacqacyabAabacaccbgcaicbocaqcdscdwcaycbAcdu'
                  'dbaeacebeeageboeaqeaseaweayebAeeufbagacgbegaggbogaqgaygbA'
                  'gduhbaiacibgiaiiboiaqiayibAibakbckbikakkbokbqkbykbAkjcfhg'
                  'foabooboAboadoodoAdoafoefoofoAfoahoohoAhoajoojoAjvacvocvA'
                  'cvaevoevAevagvogvAgvaivoivAiCadCodCAdCafCofCAfCahCohCAh')
    __version__ = 7.70


class Kujaku(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5053, short_name='Kujaku')
    __layout__ = ('0bnabpabrabtabvabxablbczbaBbbhcbjcancapcarcatcavcaxcaddbf'
                  'daldazddBdaDdaheajeabfcdfaffaAfdCfaEfbahcchaehakhamhaohas'
                  'haAhdChaEhabjcdjafjaAjdCjaEjahkajkadlbflallazldBlaDlbhmbj'
                  'manmapmarmatmavmaxmblncznaBnbnobpobrobtobvobxohnghpghtghj'
                  'hhnihpihtioofoqfoufoihoojoqjoujvpevrevvfvhhvvjvpkvrkCwgCC'
                  'gCghCwiCCi')
    __version__ = 7.70


class Labyrinth(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5054, short_name='Labyrinth')
    __layout__ = ('0caaacaaeaagaaiaakaamaaoaaqaasaauaawaayaaAaaCacEaaacbkcbo'
                  'cbucaEcaaebcebeebgebkeboebsebuebyebAeaEeaagbkgbygaEgaaibe'
                  'ibiibkiboibqibsibuibwibyibAiaEiaakbekbokbwkaEkaambembgmbi'
                  'mbkmbombqmbsmbwmbAmbCmaEmaaobkobwoaEocaqacqbeqdgqdkqbmqao'
                  'qaqqasqauqbwqdyqdCqbEq')
    __version__ = 7.70


class Lion(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5055, short_name='Lion')
    __layout__ = ('0bdbbfbcjbclbawbaybbbcbhcaucaAccjdcldasdaCdbaeaqecvfczfaD'
                  'fbbgapgaEhcbiceichickiaoicxiaFjcckcfkcikclkbokcwkcykbulbA'
                  'laElcbmcemchmckmcnmbqmaDnccocfocioclocooaroatoavoaxoazoaB'
                  'ohvahxahzahtbhBbhrchDdhpehEfhoghFhhnihGjhFlhEnhsohCohuphw'
                  'phyphApwkc')
    __version__ = 7.70


class Lost(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5056, short_name='Lost')
    __layout__ = ('0afaaxaabbadbahbajbblbbnbbpbbrbatbavbazbaBbafcaxcabdaddbk'
                  'dcodbsdazdaBdbiebmebqebueaafacfaefbgfdofbwfayfaAfaCfaahae'
                  'hbghcihckhdmhdohdqhcshcuhbwhayhaChaajacjaejbgjdojbwjayjaA'
                  'jaCjbikbmkbqkbukabladlbklcolbslazlaBlafmaxmabnadnahnajnbl'
                  'nbnnbpnbrnatnavnaznaBnafoaxoombooboqbomnoonoqn')
    __version__ = 7.70


class Maya(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5057, short_name='Maya')
    __layout__ = ('0aaaacaaeaagaaiaaqaasaauaawaayaaacaccaecagcaicaqcascaucaw'
                  'caycaaeaceaeeageaieakeameaoeaqeaseaueaweayeaigakgamgaogaq'
                  'gaiiakiamiaoiaqiaakackaekagkaikakkamkaokaqkaskaukawkaykaa'
                  'macmaemagmaimaqmasmaumawmaymaaoacoaeoagoaioaqoasoauoawoay'
                  'ohcbhebhgbhsbhubhwbhcdhedhgdhsdhudhwdhkfhmfhofhkhhmhhohhk'
                  'jhmjhojhclhelhglhslhulhwlhcnhenhgnhsnhunhwnoccoecogcoscou'
                  'cowcolfonfolhonholjonjocmoemogmosmoumowmvdcvfcvtcvvcvmfvm'
                  'hvmjvdmvfmvtmvvmCecCucCmgCmiCemCum')
    __version__ = 7.70


class Mesh(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5058, short_name='Mesh')
    __layout__ = ('0baabcabeabiabkabmabqabsabuabyabAabCabacbecbicbmcbqcbucby'
                  'cbCcbaebcebeeagebiebkebmeaoebqebsebueawebyebAebCeaegbigbm'
                  'gbqgbugaygbaibcibeiagibiibkibmiaoibqibsibuiawibyibAibCiba'
                  'kbekbikbmkbqkbukbykbCkbambcmbembimbkmbmmbqmbsmbumbymbAmbC'
                  'm')
    __version__ = 7.70


class Moth(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5059, short_name='Moth')
    __layout__ = ('0baaccaceabgaanaapaarabyacAacCabEaaibawbbccagcakccpcaucay'
                  'cbCcaidamdasdawdadeakeboebqeaueaBeamfasfacgaegahgajgbogbq'
                  'gavgaxgaAgaCgamhashadiakiboibqiauiaBiaijamjasjawjbckagkak'
                  'kcpkaukaykbCkailawlccmcembgmbpmbymcAmcCmbanbEnhoahqahichw'
                  'chmehsehdghighwghBghmihsihikhwkopaoneopeoreppgoniopiorivd'
                  'avBavoevqevoivqivdmvBmCpeCpi')
    __version__ = 7.70


class NforNamida(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5060, short_name='N for Namida')
    __layout__ = ('0caaccaceacgacqacsacuacacbccbecbgcbiccqcbsccuccaebcebeebg'
                  'ebiebkecqebsecuecagbcgcegbigbkgbmgcqgbsgcugcaibciceibkibm'
                  'iboibqibsicuicakbckcekbmkbokbqkbskcukcamccmcemcomcqmcsmcu'
                  'm')
    __version__ = 7.70


class NforNamidaTraditional(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5061, short_name='N for Namida Traditional',
                    game_type=gi.GT.HIDDEN)
    __layout__ = ('0acaaeaagaaiaakaamaaoaaqaasaauaawaayacgcaicakcbmccoccqcas'
                  'ccucaeecgecieakeameaoeaqeasecueaweacgaegcggcigakgcmgaogaq'
                  'gasgcugawgaygaahaAhaciaeicgiaiiakicmiaoicqiasicuiawiayiae'
                  'kcgkaikakkamkaokcqkaskcukawkcgmaimckmcmmbomaqmasmcumacoae'
                  'oagoaioakoamoaooaqoasoauoawoayoikfikhiohiojisjisl')
    __version__ = 7.70


class NaokiHagaTraditional(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5062, short_name='Naoki Haga Traditional',
                    game_type=gi.GT.HIDDEN)
    __layout__ = ('0acaaeaagaaiaakaamaaoaaqaasaauaawaayadgcaicakcdmcaocaqcas'
                  'caucaeedgeaiedkedmeaoecqecseaueaweacgaegdggaigakgdmgaogaq'
                  'gasgaugawgaygaahaAhaciaeiagiaiiakiamidoiaqiasiduiawiayiae'
                  'kagkcikckkamkdokdqkdskdukawkagmaimakmammdomaqmasmdumacoae'
                  'oagoaioakoamoaooaqoasoauoawoayojidvrevjk')
    __version__ = 7.70


class NewLayout(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5063, short_name='New Layout')
    __layout__ = ('0aeaagaaiaakabpaauaawaayaaAaaccaCcahdajdavdaxdaaeacealeat'
                  'eaCeaEeanfarfaagacgahgapgaCgaEganharhaaiacialiatiaCiaEiah'
                  'jajjavjaxjackaCkaemagmaimakmbpmaumawmaymaAmhfahhahjahvahx'
                  'ahzahcdhidhwdhCdhkehuehafhcfhmfhofhqfhsfhCfhEfhahhchhmhho'
                  'hhqhhshhChhEhhkihuihcjhijhwjhCjhfmhhmhjmhvmhxmhzmogaoiaow'
                  'aoyaoceojeoveoCeolfotfoagocgongopgorgoCgoEgolhothociojiov'
                  'ioCiogmoimowmoymvhavxavcfvkfvufvCfvmgvogvqgvsgvchvkhvuhvC'
                  'hvhmvxmCcgClgCngCpgCrgCtgCCg')
    __version__ = 7.70


class Order(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5064, short_name='Order')
    __layout__ = ('0afaahaajaalaanaapaaraataaabaybaicakcamcaocaqcbadacdaedau'
                  'dawdbydakebmeaoecafbcfaefaufbwfcyfaggaigakgbmgaogaqgasgca'
                  'hcchbehbuhcwhcyhagiaiiakibmiaoiaqiasicajbcjaejaujbwjcyjak'
                  'kbmkaokbalaclaelaulawlbylaimakmammaomaqmaanaynafoahoajoal'
                  'oanoapoaroatohgahiaikaimaioahqahsahlchnchghhihhkhhohhqhhs'
                  'hhlmhnmhgohioikoimoioohqohsoomcpmhomm')
    __version__ = 7.70


class Pattern(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5065, short_name='Pattern')
    __layout__ = ('0aaaacaafaahaakaamaapaaraauabwabzaaBaaacaccafcahcakcamcap'
                  'carcbuccwcczcbBccafacfaffchfckfcmfapfarfcufawfazfcBfaahcc'
                  'hcfhahhakhamhcphcrhcuhawhazhcBhaakackafkahkakkcmkcpkarkcu'
                  'kcwkczkcBkaamacmafmahmckmammapmcrmaumcwmczmaBmibailaifbih'
                  'bibciqciqfilhialihl')
    __version__ = 7.70


class Phoenix(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5066, short_name='Phoenix', game_type=gi.GT.HIDDEN)
    __layout__ = ('0aaaacaapaaraaEaaGaaebatbaCbaacagcapcarcaAcaGcaidaydakebo'
                  'ebqebseaweaafacfaefamfaufaCfaEfaGfaggbpgbrgaAgaahaihamhau'
                  'hayhaGhaeiakicpicriawiaCiaajamjaujaGjbpkbrkaclaelaglailam'
                  'laulaylaAlaClaElakmbpmbrmawmacnafnamnaunaBnaEnaioaooasoay'
                  'oacpafpaBpaEpakqawqhbbhFbhdchDchfdhBdhhehzehjfhxfhdghlghv'
                  'ghDghfhhBhhhihnihtihzihjjhxjhdkhlkhvkhDkhflhnlhtlhBlhhmhz'
                  'mhjnhxnhlohvohnphtponfppfprfotfoplorlvqivqlCqf')
    __version__ = 7.70


class Portal(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5067, short_name='Portal')
    __layout__ = ('0accagcawcaAcaedaydaceageaweaAeamgaqgamiaqiackagkawkaAkae'
                  'laylacmagmawmaAmhbbhdbhfbhhbhvbhxbhzbhBbhbdhhdhvdhBdhbfhd'
                  'fhffhhfhlfhnfhpfhrfhvfhxfhzfhBfhlhhrhhbjhdjhfjhhjhljhnjhp'
                  'jhrjhvjhxjhzjhBjhblhhlhvlhBlhbnhdnhfnhhnhvnhxnhznhBnoaaoc'
                  'aoeaogaoiaouaowaoyaoAaoCaoacoicoucoCcoaeoieokeomeooeoqeos'
                  'eoueoCeoagocgoegoggoigokgosgougowgoygoAgoCgoaiocioeiogioi'
                  'iokiosiouiowioyioAioCioakoikokkomkookoqkoskoukoCkoamoimou'
                  'moCmoaoocooeoogooioouoowooyooAooCo')
    __version__ = 7.70


class Rocket(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5068, short_name='Rocket')
    __layout__ = ('0amaaoaaqaazaaBaaDaakbaicamcaocaqcascaxcazcaBcaDcagdakdau'
                  'daeeaieameaqeaseaweayeacfagfakfaofaufaBfaegasgawgaygaahbc'
                  'hbghbihbkhbmhbohcqhauhaAhaChaeiasiawiayiacjagjakjaojaujaB'
                  'jaekaikamkaqkaskawkaykaglaklaulaimammaomaqmasmaxmazmaBmaD'
                  'maknamoaooaqoazoaBoaDohnahpahlbhBbhjchnchpchhdhsdhfehxehd'
                  'fhsfhughehhshiwhhyhhuihdjhsjhfkhxkhhlhslhjmhnmhpmhlnhBnhn'
                  'ohpoonbopbosgodhofhohhojholhonhouhosionnopnvobvehvghvihvs'
                  'hvonCfh')
    __version__ = 7.70


class Scorpion(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5069, short_name='Scorpion')
    __layout__ = ('0avaacbaebagbaibaacaxcazcagdaidakdaoeaseayeaAeaafacfaefag'
                  'faifakfcmgaogcqgasgcugawgbygbAgckhciidmiaoicqiasiduiawiby'
                  'ibAickjcmkaokcqkaskcukawkbykaalaclaelaglailaklaomasmawmag'
                  'nainaknaaoacpaepagpaiphdbhfbhhbhwbhbchychhdhzehbfhdfhffhh'
                  'fhjfhofhsfhohhshhwhhojhsjhwjhblhdlhflhhlhjlholhslhwlhhnhb'
                  'ohdphfphhpoogosgoyhooiosiowioyjookoskvohvqhvshvojvqjvsj')
    __version__ = 7.70


class ScrewUp(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5070, short_name='Screw Up')
    __layout__ = ('0ciackacmabgbbobcecbicbkcbmccqcbgdbodcceceeakeamecqecsebg'
                  'fbofccgcegakgamgcqgcsgbghbohcciceiaiiakicqicsibgjbojcckce'
                  'kaikakkcqkcskbglbolcembimbkmbmmcqmbgnbonciockocmoilfikhij'
                  'jvbfvtfvbhvthvbjvtjCafCufCahCuhCajCuj')
    __version__ = 7.70


class Seven(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5071, short_name='Seven')
    __layout__ = ('0aaaacaafaahaakaamaapaaraauaawaazaaBaaEaaGaaacaccafcahcak'
                  'camcapcarcaucawcazcaBcaEcaGcaaeaceafeaheakeameapeareaueaw'
                  'eazeaBeaEeaGeaagacgafgahgakgamgapgargaugawgazgaBgaEgaGgaa'
                  'iaciafiahiakiamiapiariauiawiaziaBiaEiaGiaakackafkahkakkam'
                  'kapkarkaukawkazkaBkaEkaGkaamacmafmahmakmammapmarmaumawmaz'
                  'maBmaEmaGmaaoacoafoahoakoamoapoaroauoawoazoaBoaEoaGoaaqac'
                  'qafqahqakqamqapqarqauqawqazqaBqaEqaGqhqchlehvehggiqghAghb'
                  'ihlihvihFihgkiqkhAkhlmhvmhqo')
    __version__ = 7.70


class SevenPyramids(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5072, short_name='Seven Pyramids')
    __layout__ = ('0aaaacaaeaagaaoaaqaayaaAaaCaaEaaacaccaecagcaocaqcaycaAcaC'
                  'caEcaaeaceaeeageayeaAeaCeaEeaagacgaegaggangapgargaygaAgaC'
                  'gaEganiapiariaakackaekagkankapkarkaykaAkaCkaEkaamacmaemag'
                  'maymaAmaCmaEmaaoacoaeoagoaooaqoayoaAoaCoaEoaaqacqaeqagqao'
                  'qaqqayqaAqaCqaEqhbbhdbhfbhpbhzbhBbhDbhbdhddhfdhzdhBdhDdhb'
                  'fhdfhffhzfhBfhDfhohhqhhojhqjhblhdlhflhzlhBlhDlhbnhdnhfnhz'
                  'nhBnhDnhbphdphfphpphzphBphDpoccoecoAcoCcoceoeeoAeoCeopioc'
                  'moemoAmoCmocooeooAooCovddvBdvdnvBn')
    __version__ = 7.70


class Shield(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5073, short_name='Shield')
    __layout__ = ('0aaaacaaeaagaaiaakaamaaoaaxaaacaccaecagcaicakcamcaocbxcaa'
                  'eaceaeeageaieakeameaoecxeabgadgafgahgajgalgangdxgaciaeiag'
                  'iaiiakiamidxietjeBjaekagkaikakkbvkexkbzkagmaimcxmahodxohc'
                  'bhebhgbhibhkbhmbhcdhedhgdhidhkdhmdhcfiefigfiifikfhmfhdhif'
                  'hihhijhhlhhejigjiijhkjhglhilodbofbohbojbolboddofdohdojdol'
                  'dohlvfcvhcvjcvfevhevjevggvigvhiChdChf')
    __version__ = 7.70


class Siam(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5074, short_name='Siam')
    __layout__ = ('0afaazaadbahbaxbaBbacdaedagdaidandardawdaydaAdaCdaleateab'
                  'fadfaffahfajfavfaxfazfaBfaDfaahachaehaghaihakhamhaohaqhas'
                  'hauhawhayhaAhaChaEhabjadjafjahjajjavjaxjazjaBjaDjalkatkac'
                  'laelaglailanlarlawlaylaAlaCladnahnaxnaBnafoazohddhfdhhdhx'
                  'dhzdhBdhcfhefhgfhifhwfhyfhAfhCfhbhhdhhfhhhhhjhhlhhnhiphhr'
                  'hhthhvhhxhhzhhBhhDhhcjhejhgjhijhwjhyjhAjhCjhdlhflhhlhxlhz'
                  'lhBloedogdoydoAdodfoffohfoxfozfoBfochoehoghoihowhoyhoAhoC'
                  'hodjofjohjoxjozjoBjoelogloyloAl')
    __version__ = 7.70


class SpaceShip(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5075, short_name='Space Ship', game_type=gi.GT.HIDDEN)
    __layout__ = ('0afaahaajaalaanaapaaraataavaadbaxbabcancazcaaeafeaheajeal'
                  'eaneapeareateaveaAeadfaxfangadhaxhaniadjaxjankadlaxlanmad'
                  'naxnanohgahiahkahmahoahqahsahuahebhwbhcchychadhmdhodhAdhg'
                  'ehiehkehqehsehuehmfhofhdghxghnhhdihxihnjhdkhxkhnlhdmhxmhn'
                  'nohaojaolaonaopaoraotaofbovbodcoxcobdozdoheojeoleoneopeor'
                  'eoteqngodhoxhqniodjoxjqnkodloxlqnmviavkavmavoavqavsavgbvu'
                  'bvecvwcvcdvydvievkevmevoevqevsevdivxivdkvxkCnaCjeCleCneCp'
                  'eCreCdjCxj')
    __version__ = 7.70


class Square(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5076, short_name='Square')
    __layout__ = ('0daadcadeadgadiadkadacdccdecdgcdicdkcdaedcedeedgediedkeda'
                  'gdcgdegdggdigdkgdaidcideidgidiidkidakdckdekdgkdikdkk')
    __version__ = 7.70


class Squares(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5077, short_name='Squares')
    __layout__ = ('0caabcaceabgaciabkacmaboacqabsacuaaacauccddafdahdajdaldan'
                  'dapdcrdaaeauebdfbrfaagbggcigckgcmgbogaugcdhcrhaaibgiciick'
                  'icmiboiauibdjbrjaakaukcdlaflahlajlallanlaplcrlaamaumcaobc'
                  'oceobgociobkocmoboocqobsocuohidikdhmdhiliklhmlvjgvlgvjivl'
                  'i')
    __version__ = 7.70


class Squaring(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5078, short_name='Squaring')
    __layout__ = ('0caaacaceaciaakacmacqaasacuacyaaAacCaaacaecaicdkcamcaqcau'
                  'caycdAcaCccaeaceceecieakecmecqeasecuecyeaAecCecahachcehci'
                  'hakhcmhcqhashcuhcyhaAhcChaajdcjaejaijamjaqjdsjaujayjaCjca'
                  'laclcelcilaklcmlcqlaslculcylaAlcCl')
    __version__ = 7.70


class Stairs(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5079, short_name='Stairs')
    __layout__ = ('0aoaaebaybeacdccagcaicakcbmccocbqcascaucawcdAceCcaedaydda'
                  'eaieaoeauedCebefbyfaagaigaogaugaCgbchcehbghakhbmhbqhashbw'
                  'hcyhbAhaaiaiiaoiauiaCibejbyjdakaikaokaukdCkaelayleamdcmag'
                  'maimakmbmmcombqmasmaumawmdAmeCmaenaynaoohechychofhahkohhC'
                  'hhojhemhym')
    __version__ = 7.70


class StarShip(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5080, short_name='Star Ship')
    __layout__ = ('0eoaaabdmbdqbaCbaccckccscaAcaadbidbudaCdbceagecoeawebAeaa'
                  'faefamfaqfayfaCfecgaggaigbkgdogbsgaugawgeAgaahaehamhaqhay'
                  'haChbciagicoiawibAiaajbijbujaCjackckkcskaAkaaldmldqlaCleo'
                  'mhachCchaehCehaghegimgiqghyghCghaihCihakhCkoadoCdoafoCfoa'
                  'hoChoajoCjvaevCevagvCgvaivCiCafCCfCahCCh')
    __version__ = 7.70


class StepsPyramid(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5081, short_name='Steps Pyramid')
    __layout__ = ('0aaaacaaeaagaaiaakaamaaoaaqaaacaccaecagcaicakcamcaocaqcaa'
                  'eaceaoeaqeaagacgaogaqgaaiaciaoiaqiaakackaekagkaikakkamkao'
                  'kaqkaamacmaemagmaimakmammaomaqmhbbhdbhfbhhbhjbhlbhnbhpbhb'
                  'dhddhfdhhdhjdhldhndhpdhbfhdfhnfhpfhbhhdhhnhhphhbjhdjhfjhh'
                  'jhjjhljhnjhpjhblhdlhflhhlhjlhllhnlhplpccoecogcoicokcomcpo'
                  'cocepeepgepiepkepmeooeocgpegpmgoogocipeipgipiipkipmiooipc'
                  'koekogkoikokkomkpokCffChfCjfClfCfhChhCjhClh')
    __version__ = 7.70


class Stonehenge(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5082, short_name='Stonehenge')
    __layout__ = ('cdachackacoacracvacyacCacaccFcajeaneareavecagcFgddhdhhdlh'
                  'dphdthdxhdBhcajcFjajkankarkavkcancFncdpchpckpcopcrpcvpcyp'
                  'cCpveavgavlavnavsavuavzavBavadvFdvafvFfvakvFkvamvFmvepvgp'
                  'vlpvnpvspvupvzpvBpCehCghCihCkhCmhCohCqhCshCuhCwhCyhCAh')
    __version__ = 7.70


class SunMoon(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5083, short_name='SunMoon')
    __layout__ = ('0dgaciabkaamabyadebbrbbBbdccbvccaddcecheckecnebDecafbtfbA'
                  'fdcgdjgdlgbxgcahchhcnhdcidjidlibribDicajbvjdckchkckkcnkbA'
                  'kcalbsldcmbxmdenbBndgociobkoamobuovaevagvaivakCkh')
    __version__ = 7.70


class Temple(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5084, short_name='Temple')
    __layout__ = ('0baaacaaeaalaanaapaaraataaAaaCabEaaacaccalcbncbpcbrcatcaC'
                  'caEcajdavdaaeblebnebpebrebteaEeaffahfajfavfaxfazfblgbngbp'
                  'gbrgbtgadhafhahhajhavhaxhazhaBhblibnibpibribtiafjahjajjav'
                  'jaxjazjaakblkbnkbpkbrkbtkaEkajlavlaamacmalmbnmbpmbrmatmaC'
                  'maEmbaoacoaeoaloanoapoaroatoaAoaCobEohhghjghvghxghhihjihv'
                  'ihxiooeoqeokgomgoogoqgosgougokiomiooioqiosiouiookoqkvpgvp'
                  'i')
    __version__ = 7.70


class Teotihucan(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5085, short_name='Teotihucan', game_type=gi.GT.HIDDEN)
    __layout__ = ('0aaaacaaeaagaaiaakaamaaoaaqaasaaacascaaeaseaagcggckgcogas'
                  'gaaicgickicoiasiaakaskaamasmaaoacoaeoagoaioakoamoaooaqoas'
                  'oajqhbbhdbhfbhhbhjbhlbhnbhpbhrbhbdhrdhbfhrfhbhhrhhbjhrjhb'
                  'lhrlhbnhdnhfnhhnhjnhlnhnnhpnhrnhjpoccoecogcoicokcomcoocoq'
                  'coceoqeocgoqgocioqiockoqkocmoemogmoimokmommoomoqmojovddvf'
                  'dvhdvjdvldvndvpdvdfvffvhfvjfvlfvnfvpfvdhwfhvhhwjhvlhwnhvp'
                  'hvdjvfjvhjvjjvljvnjvpjvdlvflvhlvjlvllvnlvplvjn')
    __version__ = 7.70


class TheDoor(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5086, short_name='The Door')
    __layout__ = ('0amaaoaaqaeicekcemceoceqcesceucagediedueaweaegaggdigdugaw'
                  'gaygaeibgidiiduibwiayiackaekcgkdikakkaskdukcwkaykaAkaamac'
                  'mbemcgmdimakmasmdumcwmbymaAmaCmaaobcobeocgodioakoasoduocw'
                  'obyobAoaCo')
    __version__ = 7.70


class TheGreatWall(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5087, short_name='The Great Wall')
    __layout__ = ('0aaaacaaeaagaaiaakaamaaoaaqaasaauaawaayaaAaaCaaEaaacaccae'
                  'cagcaicakcamcaocaqcascaucawcaycaAcaCcaEcaaeaceaeeageaieak'
                  'eameaoeaqeaseaueaweayeaAeaCeaEeaagacgaegaggaigakgamgaogaq'
                  'gasgaugawgaygaAgaCgaEgaaiaciaeiagiaiiakiamiaoiaqiasiauiaw'
                  'iayiaAiaCiaEiaakackaekagkaikakkamkaokaqkaskaukawkaykaAkaC'
                  'kaEkaamacmaemagmaimakmammaomaqmasmaumawmaymaAmaCmaEmaaoac'
                  'oaeoagoaioakoamoaooaqoasoauoawoayoaAoaCoaEoaaqacqaeqagqai'
                  'qakqamqaoqaqqasqauqawqayqaAqaCqaEq')
    __version__ = 7.70


class Theater(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5088, short_name='Theater')
    __layout__ = ('0baaccaceabgaaiaamaaqabsacuacwabyacaccccbecagcakcbmcaocas'
                  'cbuccwccyccaebceaeeaiebkebmeboeaqeauebwecyebagacgaggaigak'
                  'gbmgaogaqgasgawgbygcaibciaeiaiibkibmiboiaqiauibwicyicakcc'
                  'kbekagkakkbmkaokaskbukcwkcykbamccmcembgmaimammaqmbsmcumcw'
                  'mbym')
    __version__ = 7.70


class TileFighter(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5089, short_name='Tile Fighter')
    __layout__ = ('0bfaahaatabvadccbecakcbmcbocaqcbwcdycbaecceaiebkebmeboebq'
                  'easecyebAebagbigckgamgaogcqgbsgbAgcchaehaghauhawhcyhbaibi'
                  'ickiamiaoicqibsibAibakcckaikbkkbmkbokbqkaskcykbAkdcmbemak'
                  'mbmmbomaqmbwmcymbfoahoatobvohnhonepafpAfpahpAhpajpAjonk')
    __version__ = 7.70


class Tilepiles(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5090, short_name='Tilepiles')
    __layout__ = ('0aaaacaaeaagaaiaaobaqbasbaubaybaAbaCbaEbahcajcalcacdaedar'
                  'datdaxdazdaBdakeameaoeaffahfaufawfayfangapgargaihakhaxhaz'
                  'haqiasiauiajjaljanjaAjaCjatkavkaxkaelaglailaklaolaqlawmay'
                  'maAmaCmaEmabnadnafnahnajnhbahdahfahhahpbhrbhtbhzbhBbhDbhi'
                  'chkchddhsdhydhAdhlehnehgfhvfhxfhoghqghjhhyhhrihtihkjhmjhB'
                  'jhukhwkhflhhlhjlhplhxmhzmhBmhDmhcnhenhgnhinocaoeaogaoqbos'
                  'boAboCbojcozdomeowfopgosioljovkogloiloymoAmoCmodnofnohnvd'
                  'avfavrbvBbvhlvzmvBmvenvgnCeaCAmCfn')
    __version__ = 7.70


class TimeTunnel(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5091, short_name='Time Tunnel')
    __layout__ = ('0aaabcaceaegaeiaekaemacoabqaasaaacccceeceoccqcascaaecceee'
                  'eeoecqeaseaagccgeegeogcqgasgaaiccieeieoicqiasiaakbckcekeg'
                  'keikekkemkcokbqkaskvcdvqdwcfwqfvchvqh')
    __version__ = 7.70


class Tomb(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5092, short_name='Tomb')
    __layout__ = ('0eaabcabeabgabiabkabmaboabqaesabaccccceccgccicckccmccoccq'
                  'cbscaaedcebeeageaieakeameboedqeasebagccgcegeggaigakgemgco'
                  'gcqgbsgdaibcibeidgiaiiakidmiboibqidsibgkaikakkbmkaimakmhj'
                  'evfcvhcvjcvlcvncCgcCicCkcCmc')
    __version__ = 7.70


class TowerandWalls(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5093, short_name='Tower and Walls',
                    game_type=gi.GT.HIDDEN)
    __layout__ = ('0ekadmaeoadqaesadkccmccoccqcdscdaeecedeeegedieekecmedoecq'
                  'eesedueewedyeeAedCedkgcmgcogcqgdsgekidmieoidqiesi')
    __version__ = 7.70


class TraditionalReviewed(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5094, short_name='Traditional Reviewed')
    __layout__ = ('0acaaeaaiaakaamaaoaaqaasaawaayaagcaicbkccmccocbqcascaucae'
                  'eagebiebkecmecoebqebseaueaweacgaegbggcigckgcmgcogcqgcsgbu'
                  'gawgaygaahaAhaciaeibgiciickicmicoicqicsibuiawiayiaekagkbi'
                  'kbkkcmkcokbqkbskaukawkagmaimbkmcmmcombqmasmaumacoaeoaioak'
                  'oamoaooaqoasoawoayovnfvlhwnhvphvnj')
    __version__ = 7.70


class TreeofLife(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5095, short_name='Tree of Life')
    __layout__ = ('0ababdacfadhacjablaanaapabractadvacxabzaaBaaccaAcaadbfdaj'
                  'daldandapdardatdbxdaCdaceaAeaafaefagfaifbkfbsfaufawfayfaC'
                  'facgamgaqgaAgaehaihauhayhaliboiariagjawjblkaokbrkaambcmce'
                  'mbgmaimclmaomcrmaumbwmcymbAmaCmacoagocloaoocroawoaAoaiqak'
                  'qamqcoqaqqasqauqhoaicdimdiqdiAdhdfiffhhfixfhzfilqirq')
    __version__ = 7.70


class TwinTemples(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5096, short_name='Twin Temples')
    __layout__ = ('0aaaacaaeaagaaiaakaaqaasaauaawaayaaAaaacakcaqcaAcamdaodaa'
                  'eakeaqeaAeagfaifamfaofasfaufaagakgaqgaAgamhaohaaiakiaqiaA'
                  'iaakackaekagkaikakkaqkaskaukawkaykaAkhbbhdbhfbhhbhjbhrbht'
                  'bhvbhxbhzbhbdhjdhldhpdhrdhzdhbfhffhvfhzfhbhhjhhlhhphhrhhz'
                  'hhbjhdjhfjhhjhjjhrjhtjhvjhxjhzjoccoecogcoicoscoucowcoycok'
                  'doqdoceoieoseoyeocgoigosgoygokhoqhocioeiogioiiosiouiowioy'
                  'ivddvfdvhdvjdvrdvtdvvdvxdvdfvhfvjfvrfvtfvxfvdhvfhvhhvjhvr'
                  'hvthvvhvxhCeeCgeCueCweCegCggCugCwg')
    __version__ = 7.70


class Vi(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5097, short_name='Vi')
    __layout__ = ('0aaaaEaaacaccaCcaEcbaeaceaeeaAeaCebEecagbcgaegaggaygaAgbC'
                  'gcEgcaibcibeiagiaiiawiayibAibCicEicakcckbekbgkaikakkaukaw'
                  'kbykbAkcCkcEkdamccmcembgmbimakmammasmaumbwmbymcAmcCmdEmea'
                  'odcoceocgobiobkoamoaooaqoasobuobwocyocAodCoeEo')
    __version__ = 7.70


class VictoryArrow(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5098, short_name='Victory Arrow')
    __layout__ = ('0ataaabbcbbebbgbbibbkbambavbaxcaadamdbvdazdadebfebheajeaB'
                  'eaafamfaofbvfbxfbzfaDfadgajgaqgaahaghamhaohbshbuhbwhbyhbA'
                  'hbChbEhadiajiaqiaajamjaojbvjbxjbzjaDjadkbfkbhkajkaBkaalam'
                  'lbvlazlaxmaanbcnbenbgnbinbknamnavnatohachmchaehmehdfhjfha'
                  'ghmghoghdhhjhhqhhaihmihoihdjhjjhakhmkhamhmmodbofbohbojboa'
                  'domdoafomfoahonhophorhothovhoxhozhoBhoajomjoalomlodnofnoh'
                  'nojn')
    __version__ = 7.70


class Wavelets(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5099, short_name='Wavelets')
    __layout__ = ('0agaaqaaAaagcaqcaAccaeaeeaieaoeaseayeaCecGeaggaqgaAgcaiae'
                  'iaiiaoiasiayiaCicGiagkaqkaAkcamaemaimaomasmaymaCmcGmagoaq'
                  'oaAoagqaqqaAqhgbhqbhAbhdehjehnehtehxehDehghhqhhAhhdihjihn'
                  'ihtihxihDihgjhqjhAjhdmhjmhnmhtmhxmhDmhgphqphApogcoqcoAcoc'
                  'eokeomeoueoweoEeoggoqgoAgociokiomiouiowioEiogkoqkoAkocmok'
                  'mommoumowmoEmogooqooAovgdvqdvAdvbevlevvevFevgfvqfvAfvghvq'
                  'hvAhvbivlivvivFivgjvqjvAjvglvqlvAlvbmvlmvvmvFmvgnvqnvAn')
    __version__ = 7.70


class Well(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5100, short_name='Well')
    __layout__ = ('0aiaakaamaaoaagcaicakcamcaocaqcacebeeegeeieekeemeeoeeqebs'
                  'eaueaafawfacgbegeggaigakgamgaogeqgbsgaugaahawhacibeiegiai'
                  'iakiamiaoieqibsiauiaajawjackbekegkeikekkemkeokeqkbskaukbi'
                  'makmammbomaioakoamoaoohcfhufhchhuhhcjhuj')
    __version__ = 7.70


class WhataPyramid(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5101, short_name='What a Pyramid',
                    game_type=gi.GT.HIDDEN)
    __layout__ = ('0aaaacaaeaagaaiaakaamaaoaaqaasaauaawaaacaccbecbgcbicbkcbm'
                  'cbocbqcbscaucawcaceaeebgeciedkedmecoebqeaseaueaegbggdigbk'
                  'gbmgdogbqgasgaeibgidiibkibmidoibqiasiackaekbgkcikdkkdmkco'
                  'kbqkaskaukaamacmbembgmbimbkmbmmbombqmbsmaumawmaaoacoaeoag'
                  'oaioakoamoaooaqoasoauoawo')
    __version__ = 7.70


class Yummy(mgame.AbstractMahjonggGame):
    __info__ = dict(id=5102, short_name='Yummy')
    __layout__ = ('0aoaaibakbbmbbqbasbaubaocagdbidbkdbmdbqdbsdbudawdaoeaefbg'
                  'fcifckfdmfdqfcsfcufbwfayfaogaahachbehcghbihakhashbuhcwhby'
                  'haAhaChaoiaejbgjcijckjdmjdqjcsjcujbwjayjaokaglbilbklbmlbq'
                  'lbslbulawlaomainaknbmnbqnasnaunaooiobiodkofkohkojiolion')
    __version__ = 7.70


PROVIDES = [Km, Kujaku, Labyrinth, Lion, Lost, Maya, Mesh, Moth,
            NaokiHagaTraditional, NewLayout, NforNamida,
            NforNamidaTraditional, Order, Pattern, Phoenix, Portal, Rocket,
            Scorpion, ScrewUp, Seven, SevenPyramids, Shield, Siam, SpaceShip,
            Square, Squares, Squaring, Stairs, StarShip, StepsPyramid,
            Stonehenge, SunMoon, Temple, Teotihucan, Theater, TheDoor,
            TheGreatWall, TileFighter, Tilepiles, TimeTunnel, Tomb,
            TowerandWalls, TraditionalReviewed, TreeofLife, TwinTemples, Vi,
            VictoryArrow, Wavelets, Well, WhataPyramid, Yummy]